iT邦幫忙

2022 iThome 鐵人賽

0
自我挑戰組

冒牌工程師上學去系列 第 39

2-16 分頁式記憶體管理Paged Memory Management

  • 分享至 

  • xImage
  •  

前一章提到的多重基底限制暫存器和Compaction壓縮都是要解決記憶體碎裂的問題,而今天要講第三種解決辦法: 分頁式記憶體管理

概念

會有一個邏輯記憶體就是我們要存放的程式,以及一個實體記憶體就是我們一直在學的Memory
概念很像假設一位農夫要將倉庫裡的蘋果搬到貨櫃裡,倉庫就是邏輯記憶體,蘋果就是程式,貨櫃則是實體記憶體
https://ithelp.ithome.com.tw/upload/images/20221111/20141684fnJZUbACvo.png

作法

https://ithelp.ithome.com.tw/upload/images/20221111/20141684W8lZEdTsvz.png

  1. 一開始將程式切割成n頁,並將程式在邏輯記憶體中的位置給CPU計算,計算後產生p和d
  2. OS裡會有一個page table,程式切割成幾頁,這個page table裡就會有幾頁。將CPU計算出的p到page table裡找對應的編號f
  3. 將編號f * frame size 加上d後存到實體記憶體裡面
  • 幾個特點如下
    • 記憶體採不連續配置,空間夠就放
    • 會有一個page table(座位表)紀錄page編號,page table裡紀錄的page數量就會等於程式切割成幾頁
    • 每一個frame size一定會等於page size

算法

https://ithelp.ithome.com.tw/upload/images/20221111/201416843cKVA4NaUP.png

分頁式記憶體優缺點

#
碎裂 沒有外部碎裂 可能有內部碎裂(程式切割成page,每一個page記憶體大小一樣,可能會有其中一個page沒裝滿)
記憶體 共享Memory 需要額外硬體支援(page table搜尋f, p/d計算)

Page Table存放方式

參考這篇

分類會依照第一篇介紹的分類架構來進行
由於是將學習過程記錄下來,如果有任何錯誤歡迎糾正

以下參考連結在學習過程中覺得非常有幫助:
-Chapter3-作業系統-記憶體管理
-作業系統祕笈(張逸)


上一篇
2-15 記憶體分配
下一篇
2-17 虛擬記憶體
系列文
冒牌工程師上學去42
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言